12 research outputs found
Source-specific routing
Source-specific routing (not to be confused with source routing) is a routing
technique where routing decisions depend on both the source and the destination
address of a packet. Source-specific routing solves some difficult problems
related to multihoming, notably in edge networks, and is therefore a useful
addition to the multihoming toolbox. In this paper, we describe the semantics
of source-specific packet forwarding, and describe the design and
implementation of a source-specific extension to the Babel routing protocol as
well as its implementation - to our knowledge, the first complete
implementation of a source-specific dynamic routing protocol, including a
disambiguation algorithm that makes our implementation work over widely
available networking APIs. We further discuss interoperability between ordinary
next-hop and source-specific dynamic routing protocols. Our implementation has
seen a moderate amount of deployment, notably as a testbed for the IETF Homenet
working group
User-space Multipath UDP in Mosh
In many network topologies, hosts have multiple IP addresses, and may choose
among multiple network paths by selecting the source and destination addresses
of the packets that they send. This can happen with multihomed hosts (hosts
connected to multiple networks), or in multihomed networks using
source-specific routing. A number of efforts have been made to dynamically
choose between multiple addresses in order to improve the reliability or the
performance of network applications, at the network layer, as in Shim6, or at
the transport layer, as in MPTCP. In this paper, we describe our experience of
implementing dynamic address selection at the application layer within the
Mobile Shell. While our work is specific to Mosh, we hope that it is generic
enough to serve as a basis for designing UDP-based multipath applications or
even more general APIs
Le routage spécifique à la source et ses applications
International audienceLe routage spécifique à la source est une forme de routage quiconsiste à prendre en compte, lors des décisions de routage, la sourcedu paquet en plus de sa destination. Le routage spécifique à la sourcepermet donc d'avoir plusieurs routes vers une même destination et d'enchoisir une en sélectionnant une adresse source. Dans cettecommunication, nous décrivons les techniques de routage spécifique àla source et nous montrons quelques-unes des applications qu'il rendpossible, notamment celles qui sont motivées par les travaux du groupeHomenet de l'IETF
Source-specific routing
En routage next-hop, paradigme de routage utilisé dans l'Internet Global, chaque routeur choisit le next-hop de chaque paquet en fonction de son adresse destination. Le routage sensible à la source est une extension compatible du routage next-hop où le choix du next-hop dépend de l'adresse source du paquet en plus de son adresse destination. Nous montrons dans cette thèse que le routage sensible à la source est adapté au routage des réseaux multihomés avec plusieurs adresses, qu'il est possible d'étendre de manière compatible les protocoles de routage à vecteur de distance existants et que ce paradigme de routage offre avantageusement plus de flexibilité aux hôtes. Nous montrons d'abord que certains systèmes n'ordonnent pas correctement les entrées sensibles à la source dans leurs tables de routage et nous définissons un algorithme adapté aux protocoles de routage pour y remédier. Nous montrons comment étendre les protocoles à vecteur de distances au routage sensible à la source de manière compatible. Nous validons notre approche en concevant une extension d'un protocole existant (Babel), en réalisant la première implémentation complète d'un protocole sensible à la source et en utilisant ce protocole pour router un réseau multihomé. Enfin, nous montrons que le routage sensible à la source offre des possibilités de multichemin aux couches supérieures des hôtes. Nous vérifions qu'il s'intègre aux technologies existantes (MPTCP) et nous concevons des techniques d'optimisation pour les applications légères. Nous évaluons ces techniques après les avoir implémentées dans le cadre d'une application existante (mosh).With next-hop routing, the routing paradigm used on the Global Internet, each router chooses the next-hop of each packet depending on its destination address. Source-specific routing is a compatible extension of next-hop routing in which the choice of the next-hop depends on the source address of the packet in addition to its destination address. In this thesis, we show that source-specific routing is well adapted to multihomed networks with multiple addresses, that extending a distance vector routing protocol and ensuring compatibility with the base protocol is possible and that source-specific routing gives more flexibility and thus new possibilities to hosts. First, we show that on some systems, source-specific routing tables are not correctly interpreted and we define an algorithm designed for a routing protocol to fix it. We show how to extend distance vector routing protocols to source specific routing while ensuring compatibility. We validate our approach with the conception of an extension to an existing protocol (Babel), with the realization of the first complete implementation of a source-specific routing protocol and with the use of this protocol to route a multihomed network. Lastly, we show that source-specific routing gives multipath possibilities to host's highest layers. We check that it works well with existing technology (MPTCP) and we design optimization techniques for lightweight applications. We evaluate these techniques after their implementation in an existing application (mosh)
Routage sensible à la source
With next-hop routing, the routing paradigm used on the Global Internet, each router chooses the next-hop of each packet depending on its destination address. Source-specific routing is a compatible extension of next-hop routing in which the choice of the next-hop depends on the source address of the packet in addition to its destination address. In this thesis, we show that source-specific routing is well adapted to multihomed networks with multiple addresses, that extending a distance vector routing protocol and ensuring compatibility with the base protocol is possible and that source-specific routing gives more flexibility and thus new possibilities to hosts. First, we show that on some systems, source-specific routing tables are not correctly interpreted and we define an algorithm designed for a routing protocol to fix it. We show how to extend distance vector routing protocols to source specific routing while ensuring compatibility. We validate our approach with the conception of an extension to an existing protocol (Babel), with the realization of the first complete implementation of a source-specific routing protocol and with the use of this protocol to route a multihomed network. Lastly, we show that source-specific routing gives multipath possibilities to host's highest layers. We check that it works well with existing technology (MPTCP) and we design optimization techniques for lightweight applications. We evaluate these techniques after their implementation in an existing application (mosh).En routage next-hop, paradigme de routage utilisé dans l'Internet Global, chaque routeur choisit le next-hop de chaque paquet en fonction de son adresse destination. Le routage sensible à la source est une extension compatible du routage next-hop où le choix du next-hop dépend de l'adresse source du paquet en plus de son adresse destination. Nous montrons dans cette thèse que le routage sensible à la source est adapté au routage des réseaux multihomés avec plusieurs adresses, qu'il est possible d'étendre de manière compatible les protocoles de routage à vecteur de distance existants et que ce paradigme de routage offre avantageusement plus de flexibilité aux hôtes. Nous montrons d'abord que certains systèmes n'ordonnent pas correctement les entrées sensibles à la source dans leurs tables de routage et nous définissons un algorithme adapté aux protocoles de routage pour y remédier. Nous montrons comment étendre les protocoles à vecteur de distances au routage sensible à la source de manière compatible. Nous validons notre approche en concevant une extension d'un protocole existant (Babel), en réalisant la première implémentation complète d'un protocole sensible à la source et en utilisant ce protocole pour router un réseau multihomé. Enfin, nous montrons que le routage sensible à la source offre des possibilités de multichemin aux couches supérieures des hôtes. Nous vérifions qu'il s'intègre aux technologies existantes (MPTCP) et nous concevons des techniques d'optimisation pour les applications légères. Nous évaluons ces techniques après les avoir implémentées dans le cadre d'une application existante (mosh)
Generating events with style
Abstract. Threads and events are two common abstractions for writing concurrent programs. Because threads are often more convenient, but events more efficient, it is natural to want to translate the former into the latter. However, whereas there are many different event-driven styles, existing translators often apply ad-hoc rules which do not reflect this diversity. We analyse various control-flow and data-flow encodings in real-world event-driven code, and we observe that it is possible to generate any of these styles automatically from threaded code, by applying certain carefully chosen classical program transformations. In particular, we implement two of these transformations, lambda lifting and environments, in CPC, an extension of the C language for writing concurrent systems. Finally, we find out that, although rarely used in real-world programs because it is tedious to perform manually, lambda lifting yields better performance than environments in most of our benchmarks
A delay-based routing metric
In overlay networks, both local and long-distance links appear as a single hop to a routing protocol, and traditional routing metrics (based on hop count or packet loss) fail to take the differences between such links into account. In this paper, we describe the design and implementation of a metric based on packet delay that is designed to improve routing in overlay networks.Using delay naively leads to persistent routing oscillations, but the Babel routing protocol within which our metric is implemented employs a number of features to bound the frequency of oscillations and limit their impact by ensuring consistency even during reconvergence. We show experimental data that indicate that the protocol causes no oscillations in real-world situations, and has oscillations with a period on the order of minutes in artificially constructed topologies